home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d10 / pitstop.arc / DISCITY.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1991-06-01  |  5.7 KB  |  236 lines

  1. 10  'Display city and startup routine for PitStop America
  2. 15  'Version 1.1 developed by FutureWave Shareware
  3. 20  'Programmed by M. Broughton Boone
  4. 25  ' A Shareware Program
  5. 100  OPEN "Fuel.dat" FOR OUTPUT AS #1
  6. 110  CLOSE #1
  7. 120  OPEN "Sleep.dat" FOR OUTPUT AS #1
  8. 130  CLOSE #1
  9. 140  OPEN "Route.dat" FOR OUTPUT AS #1
  10. 150  CLOSE #1
  11. 160  DAY = 1
  12. 170  'City Display Data Routine
  13. 180  'Var
  14. 190  'Var
  15. 200  DIM I(75):DIM C$(175):DIM S$(175): DIM M(175): DIM MA(175): DIM MN(175)
  16. 210  DIM CS$(75): DIM SS$(75): DIM MS(75):DIM H(75)
  17. 220  DIM RC$(75):DIM RHI(75): DIM RS$(75): DIM RMA(75)
  18. 225  DIM HI(100)
  19. 230  'Read cities from data
  20. 240  FOR E = 1 TO 75
  21. 250  READ C$(E),S$(E)
  22. 260  NEXT E
  23. 270  CLS
  24. 280  'Display cities
  25. 290  PRINT TAB(30);"Cities in Database"
  26. 300  X = 3: Y = 1
  27. 310  FOR E = 1 TO 75
  28. 320  IF X = 22 THEN Y = Y+20: X = 3
  29. 330  LOCATE X,Y: PRINT E;:LOCATE X,Y+4: PRINT C$(E);",";S$(E)
  30. 340  X = X + 1
  31. 350  NEXT E
  32. 360  'Determine points
  33. 370  LOCATE 23,10: INPUT "What is your starting number";S
  34. 380  LOCATE 23,10: PRINT "                                         "
  35. 390  LOCATE 23,10: INPUT "What is your destination";D
  36. 400  LOCATE 23,10: PRINT "                                   "
  37. 410  LOCATE 22,10: PRINT"You chose ";C$(S);",";S$(S);" & ";C$(D);",";S$(D);".  Correct?";:INPUT Q$
  38. 420  LOCATE 22,10: PRINT "                                                                             "
  39. 430  IF Q$ = "Y" OR Q$ = "y" THEN 440 ELSE 370
  40. 440  CS$ = C$(S): SS$ = S$(S): DC$ = C$(D): DS$ = S$(D)
  41. 450  LOCATE 23,10: INPUT "What Route will you be starting on: I-";IH
  42. 460  LOCATE 23,10: PRINT "Please wait while I load that information... "
  43. 465  IH$ = STR$(IH)
  44. 470  'Read in highway info
  45. 475  OPEN "I",#1,"Interste.dat"
  46. 480  WHILE NOT EOF(1)
  47. 485   INPUT #1,H,C$,S$,MA,M,MN
  48. 490   IF H = IH THEN C$(I) = C$: S$(I) = S$: MA(I) = MA: M(I) = M: MN(I) = MN: I = I+1
  49. 495  WEND
  50. 500  CLOSE #1
  51. 510  FOR X = 1 TO I
  52. 530  IF C$(X)=CS$ AND S$(X) = SS$ THEN GOSUB 1420
  53. 540  IF C$(X)=DC$ AND S$(X) = DS$ THEN GOSUB 1430
  54. 550  NEXT X
  55. 555  J = 1
  56. 560  OPEN "I",#1,"Intrstrc.dat"
  57. 565  WHILE NOT EOF(1)
  58. 570   INPUT #1,H,RC$,RS$,RHI,RMA
  59. 575   IF H = IH THEN RC$(J) = RC$: RS$(J) = RS$: RHI(J) = RHI: RMA(J) = RMA: J = J+1
  60. 580  WEND
  61. 585  CLOSE #1
  62. 610  OPEN "overview.dat" FOR OUTPUT AS #1
  63. 620  WRITE #1,CS$,SS$,DC$,DS$
  64. 630  CLOSE #1
  65. 640  IF K = 1 AND L = 1 THEN GOTO 1440 'load oneroute
  66. 650  IF K = 1 AND L <> 1 THEN GOTO 670
  67. 660  IF K <> 1 THEN GOTO 450
  68. 670  'Route Change Data Input
  69. 680  LOCATE 23,10: PRINT "Your destination is not on I-";IH;". Please wait"
  70. 690  OPEN "overview.dat" FOR OUTPUT AS #1
  71. 700  WRITE #1,CS$,SS$,DC$,DS$
  72. 710  CLOSE #1
  73. 720  'Display Route Change Info Subroutine
  74. 730  CLS
  75. 740  PRINT TAB(30);"Routes Connecting to I-";IH
  76. 750  HF = IH
  77. 760  X = 3: Y = 1
  78. 770  FOR P = 1 TO J-1
  79. 780  IF X = 22 THEN Y = Y+40: X = 3
  80. 790  LOCATE X,Y: PRINT P;:LOCATE X,Y+4: PRINT"I-";:LOCATE X,Y+6: PRINT RHI(P);:LOCATE X,Y+11: PRINT RC$(P);",";RS$(P)
  81. 800  X = X+1
  82. 810  NEXT P
  83. 820  LOCATE 23,10: PRINT "Number ( 1 -";P-1;") of new route";: INPUT A
  84. 830  IF A > P THEN 820: HT = RH(A)
  85. 840   HT = RHI(A): CD$ = RC$(A) : SD$ = RS$(A)
  86. 850  GOSUB 1490
  87. 870  'Determine inital segment data
  88. 880  OPEN "I",#1,"Driving.dat"
  89. 890  INPUT #1,AS,HD,AT$,MD,AT
  90. 900  CLOSE #1
  91. 910  OPEN "I",#1,"Refuel.dat"
  92. 920  INPUT #1,TC,MPG,B$,MT
  93. 930  CLOSE #1
  94. 940  'Mileage info
  95. 950  'Var
  96. 960  'var
  97. 970  SM = D-S: IF SM < 0 THEN F=-1 ELSE F = 1
  98. 980  SM = ABS(SM): TM = TM+ SM
  99. 990  'Refuel?
  100. 1000  ML = MT: CM = 0: T = 1 : J = SI
  101. 1010  J = SI+F
  102. 1020  CM = CM + M(J): ML = ML - M(J)
  103. 1030  IF ML < MN(J) THEN GOSUB 1070
  104. 1040  IF J = DI THEN 1130
  105. 1050  J = J+F
  106. 1060  GOTO 1020
  107. 1070  'Refuel
  108. 1080  OPEN "A",#1,"Fuel.dat"
  109. 1090  WRITE #1,C$(J),S$(J),CM
  110. 1100  CLOSE #1
  111. 1110  T = T+1: CM = 0: ML = MT
  112. 1120  RETURN
  113. 1130  'Sleep Subroutine
  114. 1140  DM = MD 'days miles = miles per day
  115. 1150  ED = 0: 'miles driven this day
  116. 1160  DAY = 1
  117. 1170  J = SI + F
  118. 1180  DM = DM - M(J): ED = ED + M(J)
  119. 1190  IF MN(J) > DM THEN GOSUB 1230
  120. 1200  IF J = DI THEN 1310
  121. 1210  J = J+F
  122. 1220  GOTO 1180
  123. 1230  'Sleep
  124. 1240  TR = ED/AS: 'todays hours (TR)
  125. 1250  TR = INT(TR+0.5)
  126. 1260  OPEN "A",#1,"Sleep.dat"
  127. 1270  WRITE #1,DAY,TR,C$(J),S$(J),ED
  128. 1280  CLOSE #1
  129. 1290  DM = MD: ED = 0: DAY = DAY+1
  130. 1300  RETURN
  131. 1310  'Route information
  132. 1320  OPEN "A",#1,"Route.dat"
  133. 1330  WRITE #1,CS$,SS$,CD$,SD$,HF,HT,SM
  134. 1340  CLOSE #1
  135. 1350  'Carryover Information
  136. 1360  OPEN "Carry.dat" FOR OUTPUT AS #1
  137. 1370  WRITE #1,CD$,SD$,DC$,DS$,DAY,SM,ED,ML,T,HT,TM,DM,CM
  138. 1380  CLOSE #1
  139. 1390  'Goto loop route sub-program
  140. 1400  CHAIN "Routing
  141. 1410  'Housekeeping
  142. 1420  SI = X: S = MA(X): K = 1: RETURN
  143. 1430  DI = X: D = MA(X): L = 1: RETURN
  144. 1440  OPEN "carry.dat" FOR OUTPUT AS #1
  145. 1450  HT$ = IH$: ML = MT: ED = 0:SM = 0:TM = 0:
  146. 1460  WRITE #1,CS$,SS$,DC$,DS$,DAY,SM,ED,ML,T,HT,TM,DM,CM
  147. 1470  CLOSE #1
  148. 1480  CHAIN "oneroute
  149. 1490  OPEN "I",#1,"interste.dat"
  150. 1495  I = 1
  151. 1500  WHILE NOT EOF(1)
  152. 1510   INPUT #1,H,C$,S$,MA,M,MN
  153. 1520   IF H = IH THEN C$(I) = C$: S$(I) = S$: MA(I) = MA: M(I) = M: MN(I) = MN: I = I+1
  154. 1530  WEND
  155. 1535  CLOSE #1
  156. 1536  FOR X = 1 TO I
  157. 1540  IF CD$ = C$(X) AND SD$ = S$(X) THEN DI = X: D = MA(X)
  158. 1550  IF CD$ = C$(X) AND SD$ = S$(X) THEN D = MA(X)
  159. 1560  NEXT X
  160. 1580  RETURN
  161. 1590  DATA Birmingham,AL
  162. 1600  DATA Mobile,AL
  163. 1610  DATA Phoenix,AZ
  164. 1620  DATA Tucson,AZ
  165. 1630  DATA Little Rock,AR
  166. 1640  DATA Los Angeles,CA
  167. 1650  DATA Sacramento,CA
  168. 1660  DATA San Diego,CA
  169. 1670  DATA San Francisco,CA
  170. 1680  DATA Hartford,CN
  171. 1690  DATA Denver,CO
  172. 1700  DATA Washington,DC
  173. 1710  DATA Wilmington,DE
  174. 1720  DATA Tampa,FL
  175. 1730  DATA Miami,FL
  176. 1740  DATA Atlanta,GA
  177. 1750  DATA Des Moines,IA
  178. 1760  DATA Boise,ID
  179. 1770  DATA Chicago,IL
  180. 1780  DATA Springfield,IL
  181. 1790  DATA Indianapolis,IN
  182. 1800  DATA Topeka,KS
  183. 1810  DATA Wichita,KS
  184. 1820  DATA Lexington,KY
  185. 1830  DATA Louisville,KY
  186. 1840  DATA Baton Rouge,LA
  187. 1850  DATA New Orleans,LA
  188. 1860  DATA Boston,MA
  189. 1870  DATA Baltimore,MD
  190. 1880  DATA Detroit,MI
  191. 1890  DATA Grand Rapids,MI
  192. 1900  DATA Kansas City,MO
  193. 1910  DATA St Louis,MO
  194. 1920  DATA Minneapolis,MN
  195. 1930  DATA Butte,MT
  196. 1940  DATA Helena,MT
  197. 1950  DATA Missoula,MT
  198. 1960  DATA Charlotte,NC
  199. 1970  DATA Greensboro,NC
  200. 1980  DATA Raleigh,NC
  201. 1990  DATA Bismark,ND
  202. 2000  DATA Lincoln,NE
  203. 2010  DATA Omaha,NE
  204. 2020  DATA Concord,NH
  205. 2030  DATA Newark,NJ
  206. 2040  DATA Trenton,NJ
  207. 2050  DATA Albuquerque,NM
  208. 2060  DATA Las Vegas,NV
  209. 2070  DATA Reno,NV
  210. 2080  DATA Buffalo,NY
  211. 2090  DATA New York,NY
  212. 2100  DATA Cincinnati,OH
  213. 2110  DATA Cleveland,OH
  214. 2120  DATA Columbus,OH
  215. 2130  DATA Toledo,OH
  216. 2140  DATA Oklahoma City,OK
  217. 2150  DATA Tulsa,OK
  218. 2160  DATA Portland,OR
  219. 2170  DATA Philadelphia,PA
  220. 2180  DATA Pittsburg,PA
  221. 2190  DATA Providence,RI
  222. 2200  DATA Charleston,SC
  223. 2210  DATA Columbia,SC
  224. 2220  DATA Knoxville,TN
  225. 2230  DATA Memphis,TN
  226. 2240  DATA Nashville,TN
  227. 2250  DATA Dallas,TX
  228. 2260  DATA Houston,TX
  229. 2270  DATA Salt Lake Cty,UT
  230. 2280  DATA Richmond,VA
  231. 2290  DATA Montpelier,VT
  232. 2300  DATA Seattle,WA
  233. 2310  DATA Spokane,WA
  234. 2320  DATA Milwaukee,WI
  235. 2330  DATA Cheyenne,WY
  236.